#ifndef __SINGLETON_H__
#define __SINGLETON_H__

template <class T>
class Singleton
{
public:
    static T& instance()
    {
        static T _instance;
        return _instance;
    }
private:
    Singleton();
    ~Singleton();
    Singleton(Singleton const&);
    Singleton& operator=(Singleton const&);
};

#endif //__SINGLETON_H__
